#include<signal.h>
#include<iostream>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>

using namespace std;

// int main()
// {
//     pid_t id = fork();
//     if(id == 0)
//     {
//         int cnt = 500;
//         while(cnt)
//         {
//             cout<<"child process :pid :"<<getpid()<<endl;
//             sleep(1);
//             cnt--;
//         }
//         exit(0);
//     }

//     int status = 0;
//     pid_t rid = waitpid(id, &status, 0);
//     if(rid == id)
//     {
//         cout<<"child quit info, rid: "<<rid<<" exit code: "
//         <<((status>>8)&0xFF)<<" exit signal: "<<(status&0x7F)<<" core dump: "<<((status>>7)&1)<<endl;
//     }
// }
// int main()
// {
//     int a = 1;
//     int b = 0;
    
//     a /= b;

//     cout<<"a = "<<a<<endl;
//     return 0;
// }
int main()
{
    signal(2, SIG_IGN);
    while(true)
    {
        cout<<"linux for world"<<endl;
        sleep(1);
    }
    return 0;
}







// void work()
// {
//     cout<<"print log.."<<endl;
// }

// void myhandle(int signum)
// {
//     work();
//     // cout<<"get a signal num: "<<signum<<endl;
//     // exit(1);
//     int n = alarm(5);
// }

// int main()
// {
//     signal(SIGFPE, myhandle);

//     cout<<"div before:"<<endl;
//     sleep(1);
//     int a = 1;
//     a /= 0;
//     cout<<"div before:"<<endl;
//     sleep(1);
//     return 0;
// }
// int main()
// {
//     signal(SIGFPE, myhandle);

//     cout<<"point error before:"<<endl;
//     sleep(1);
//     int *p = nullptr;
//     *p = 100;
//     cout<<"point error before:"<<endl;
//     sleep(1);
//     return 0;
// }


// int main()
// {
//     signal(SIGALRM, myhandle);

//     int n = alarm(5);

//     while(1)
//     {
//         cout<<"proc is running"<<endl;
//         sleep(1);
//     }
//     return 0;
// }

